package com;
import com.itextpdf.text.Document;
import com.itextpdf.text.Element;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.ColumnText;
import com.itextpdf.text.pdf.PdfPageEventHelper;
import com.itextpdf.text.pdf.PdfWriter;

public class HeaderFooter extends PdfPageEventHelper {
	        Phrase[] header = new Phrase[2];
	        int pagenumber;
	 
	        public void onOpenDocument(PdfWriter writer, Document document) {
	            
	        }
	 
	        public void onChapter(PdfWriter writer, Document document,
	                float paragraphPosition, Paragraph title) {
	            pagenumber = 1;
	        }
	 
	        public void onStartPage(PdfWriter writer, Document document) {
	            pagenumber++;
	        }
	 
	        public void onEndPage(PdfWriter writer, Document document) {
	            Rectangle rect = writer.getBoxSize("art");

	            switch(writer.getPageNumber() % 2) {
	            case 0:
	                ColumnText.showTextAligned(writer.getDirectContent(),
	                        Element.ALIGN_RIGHT, header[0],
	                        rect.getRight(), rect.getTop(), 0);
	                break;
	            case 1:
	                ColumnText.showTextAligned(writer.getDirectContent(),
	                        Element.ALIGN_LEFT, header[1],
	                        rect.getLeft(), rect.getTop(), 0);
	                break;
	            }
	            ColumnText.showTextAligned(writer.getDirectContent(),
	                    Element.ALIGN_CENTER, new Phrase(String.format("page %d", pagenumber)),
	                    (rect.getLeft() + rect.getRight()) / 2, rect.getBottom() - 18, 0);
	        }
	    }